Fix the specs on rails5

Dominik Sander 7 years ago
parent
commit
b651f08cc5

+ 1 - 1
Gemfile

@@ -39,7 +39,7 @@ gem 'hypdf', '~> 1.0.10'          # PDFInfoAgent
39 39
 
40 40
 # Weibo Agents
41 41
 # FIXME needs to loosen omniauth dependency
42
-#gem 'weibo_2', github: 'cantino/weibo_2', branch: 'master'
42
+gem 'weibo_2', github: 'dsander/weibo_2', branch: 'master'
43 43
 
44 44
 # GoogleCalendarPublishAgent
45 45
 gem "google-api-client", require: 'google/api_client'

+ 12 - 0
Gemfile.lock

@@ -18,6 +18,17 @@ GIT
18 18
       delayed_job (>= 3.0, < 5)
19 19
 
20 20
 GIT
21
+  remote: git://github.com/dsander/weibo_2.git
22
+  revision: e5b77f21a7e9a666b582c48e16b1e96fca198cf8
23
+  branch: master
24
+  specs:
25
+    weibo_2 (0.1.7)
26
+      hashie (~> 3)
27
+      multi_json (~> 1)
28
+      oauth2 (~> 1)
29
+      rest-client (~> 1.8)
30
+
31
+GIT
21 32
   remote: git://github.com/lostisland/faraday_middleware.git
22 33
   revision: c5836ae55857272732b33eb0e0a98d60e995a376
23 34
   branch: master
@@ -683,6 +694,7 @@ DEPENDENCIES
683 694
   vcr
684 695
   web-console
685 696
   webmock (~> 1.17.4)
697
+  weibo_2!
686 698
   wunderground (~> 1.2.0)
687 699
   xmpp4r (~> 0.5.6)
688 700
 

+ 6 - 0
app/concerns/liquid_droppable.rb

@@ -76,4 +76,10 @@ module LiquidDroppable
76 76
       URIDrop.new(self)
77 77
     end
78 78
   end
79
+
80
+  class ::ActiveRecord::Associations::CollectionProxy
81
+    def to_liquid
82
+      self.to_a.to_liquid
83
+    end
84
+  end
79 85
 end

+ 2 - 0
app/controllers/agents/dry_runs_controller.rb

@@ -8,6 +8,8 @@ module Agents
8 8
                 elsif params[:source_ids]
9 9
                   Event.where(agent_id: current_user.agents.where(id: params[:source_ids]).pluck(:id))
10 10
                        .order("id DESC").limit(5)
11
+                else
12
+                  []
11 13
                 end
12 14
 
13 15
       render layout: false

+ 1 - 0
app/controllers/application_controller.rb

@@ -72,6 +72,7 @@ class ApplicationController < ActionController::Base
72 72
       params[:agent].permit(:memory, :name, :type, :schedule, :disabled, :keep_events_for, :propagate_immediately, :drop_pending_events, :service_id,
73 73
                             source_ids: [], receiver_ids: [], scenario_ids: [], controller_ids: [], control_target_ids: []).tap do |agent_params|
74 74
         agent_params[:options] = options if options
75
+        agent_params[:options].permit! if agent_params[:options].respond_to?(:permit!)
75 76
       end
76 77
     end
77 78
   end

+ 10 - 1
app/controllers/scenario_imports_controller.rb

@@ -4,7 +4,7 @@ class ScenarioImportsController < ApplicationController
4 4
   end
5 5
 
6 6
   def create
7
-    @scenario_import = ScenarioImport.new(params[:scenario_import])
7
+    @scenario_import = ScenarioImport.new(scenario_import_params)
8 8
     @scenario_import.set_user(current_user)
9 9
 
10 10
     if @scenario_import.valid? && @scenario_import.import_confirmed? && @scenario_import.import
@@ -13,4 +13,13 @@ class ScenarioImportsController < ApplicationController
13 13
       render action: "new"
14 14
     end
15 15
   end
16
+
17
+  private
18
+
19
+  def scenario_import_params
20
+    merges = params[:scenario_import].delete(:merges)
21
+    params.require(:scenario_import).permit(:url, :data, :file, :do_import) do |params|
22
+      params[:merges] = merges
23
+    end
24
+  end
16 25
 end

+ 6 - 0
app/helpers/application_helper.rb

@@ -117,4 +117,10 @@ module ApplicationHelper
117 117
   def agent_type_to_human(type)
118 118
     type.gsub(/^.*::/, '').underscore.humanize.titleize
119 119
   end
120
+
121
+  private
122
+
123
+  def user_omniauth_authorize_path(provider)
124
+    send "user_#{provider}_omniauth_authorize_path"
125
+  end
120 126
 end

+ 1 - 1
app/jobs/agent_propagate_job.rb

@@ -6,7 +6,7 @@ class AgentPropagateJob < ActiveJob::Base
6 6
   end
7 7
 
8 8
   def self.can_enqueue?
9
-    case queue_adapter.name # not using class since it would load adapter dependent gems
9
+    case queue_adapter.class.name # not using class since it would load adapter dependent gems
10 10
     when 'ActiveJob::QueueAdapters::DelayedJobAdapter'
11 11
       return Delayed::Job.where(failed_at: nil, queue: 'propagation').count == 0
12 12
     when 'ActiveJob::QueueAdapters::ResqueAdapter'

+ 1 - 1
spec/controllers/agents/dry_runs_controller_spec.rb

@@ -93,7 +93,7 @@ describe Agents::DryRunsController do
93 93
       agent.save!
94 94
       url_from_event = "http://xkcd.com/?from_event=1".freeze
95 95
       expect {
96
-        post :create, params: {agent_id: agent, event: { url: url_from_event }}
96
+        post :create, params: {agent_id: agent, event: { url: url_from_event }.to_json}
97 97
       }.not_to change {
98 98
         [users(:bob).agents.count, users(:bob).events.count, users(:bob).logs.count, agent.name, agent.updated_at]
99 99
       }

+ 1 - 1
spec/controllers/scenarios_controller_spec.rb

@@ -142,7 +142,7 @@ describe ScenariosController do
142 142
     it 'adds an agent to the scenario' do
143 143
       expect {
144 144
         post :update, params: {:id => scenarios(:bob_weather).to_param, :scenario => { :name => "new_name", :public => "1", agent_ids: scenarios(:bob_weather).agent_ids + [agents(:bob_website_agent).id] }}
145
-      }.to change { scenarios(:bob_weather).agent_ids.length }.by(1)
145
+      }.to change { scenarios(:bob_weather).reload.agent_ids.length }.by(1)
146 146
     end
147 147
   end
148 148
 

+ 8 - 0
spec/fixtures/agents.yml

@@ -144,8 +144,12 @@ bob_manual_event_agent:
144 144
 bob_basecamp_agent:
145 145
   type: Agents::BasecampAgent
146 146
   user: bob
147
+  name: "bob basecamp agent"
147 148
   service: generic
148 149
   guid: <%= SecureRandom.hex %>
150
+  options: <%= {
151
+      :project_id => "12345",
152
+    }.to_json.inspect %>
149 153
 
150 154
 bob_csv_agent:
151 155
   type: Agents::CsvAgent
@@ -156,8 +160,12 @@ bob_csv_agent:
156 160
 jane_basecamp_agent:
157 161
   type: Agents::BasecampAgent
158 162
   user: jane
163
+  name: "jane basecamp agent"
159 164
   service: generic
160 165
   guid: <%= SecureRandom.hex %>
166
+  options: <%= {
167
+      :project_id => "12345",
168
+    }.to_json.inspect %>
161 169
 
162 170
 
163 171
 bob_data_output_agent: